
export interface PageQuery {
    code: string;
    current: number;
    size: number;
    queryParams?: QueryParam[];
    querySorts?: QuerySort[];
}

export interface QueryParam {
    paramName: string;
    relation: string;
    startValue?: string;
    endValue?: string;
    values?: string[];
    paramValue?: string | null;
}

export interface QuerySort {
    paramName: string;
    order: string;
}

export interface Result<T = any> {
    code: number;
    msg?: string;
    data?: T;
}

export interface TreeNode<T> {
    id: string
    label: string
    children?: TreeNode<T>[]
    parentId?: string,
    data?: T
}

export interface LabelValue {
    label: any;
    value: any;
}

export interface LabelValueStatus {
    label: any;
    value: any;
    status: boolean
}

export interface RelVo<A, B> {
    id: A
    details: B[]
}

export interface QueryParams {
    pageNum: number
    pageSize: number
    type: string
    handler: string
    method: string
    startTime?: string
    endTime?: string
}

export interface Page<T>{
    pageNum:number
    pageSize:number
    total:number
    list:T[]
}

export interface LogItem {
    /** 日志类型 */
    type: string;

    /** 处理人/操作者 */
    handler: string;

    /** 方法名称 */
    method: string;

    /** 操作描述 */
    description: string;

    /** 方法入参（通常为JSON字符串） */
    input: string;

    /** 方法出参（通常为JSON字符串） */
    output: string;

    /** 错误信息/异常堆栈 */
    error: string;

    /** 开始时间 */
    startTime: Date;

    /** 结束时间 */
    endTime: Date;

    /** 执行耗时（毫秒） */
    duration: number;
}